/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.fatecpg.zanotti.acessobanco;

import br.com.fatecpg.zanotti.modelo.Encomenda;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * Classe responsável por realizar toda a Manipulação de Dados referente a tabela Encomenda do Banco de Dados.
 * @author F.L. Zanotti
 */
public class dmlEncomenda {
        /**
     * Método responsável pela rotina de INSERT no banco de dados
     * @param Encomenda Objeto Encomenda
     * @return boolean
     */
public static boolean cadastrar(Encomenda Encomenda) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "INSERT INTO ENCOMENDA(cdencomenda, cdfornecedor, cdloja, cdproduto, " +
                    "dtentrega, icentregue)VALUES" +
                    " (seq_cdencomenda.NEXTVAL, ?, ?, ?, ?,?)";

            PreparedStatement pst = con.prepareStatement(query);


            pst.setString(1, Encomenda.getCDFORNECEDOR());
            pst.setString(2, Encomenda.getCDLOJA());
            pst.setString(3, Encomenda.getCDPRODUTO());
            pst.setString(4, Encomenda.getDTENTREGA());
            pst.setString(5, Encomenda.getICENTREGUE());

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }

    }
        /**
     * Método responsável pela rotina de UPDATE no banco de dados
     * @param Encomenda Objeto Encomenda
     * @return boolean
     */
    public static boolean atualizar(Encomenda Encomenda) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "UPDATE ENCOMENDA SET " +
                    "CDFORNECEDOR = ?," +
                    "CDLOJA = ?, " +
                    "CDPRODUTO = ?, " +
                    "DTENTREGA = ?, " +
                    "ICENTREGUE = ? " +
                    "WHERE CDENCOMENDA = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, Encomenda.getCDFORNECEDOR());
            pst.setString(2, Encomenda.getCDLOJA());
            pst.setString(3, Encomenda.getCDPRODUTO());
            pst.setString(4, Encomenda.getDTENTREGA());
            pst.setString(5, Encomenda.getICENTREGUE());
            pst.setString(6, Encomenda.getCDENCOMENDA());



            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Atualização realizada com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
        /**
     * Método responsável pela rotina de DELETE no banco de dados
     * @param cd Código da Encomenda
     * @return boolean
     */
        public static boolean deletar(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "DELETE FROM ENCOMENDA " +
                    "WHERE CDENCOMENDA = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, cd);

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "O cadastro foi apagado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
        }
}
